.container {
  cursor: pointer;

  &:not(.active, .disabled):hover {
    .checkbox {
      border-color: var(--color-primary);
    }
    .label {
      color: var(--color-primary);
    }
  }

  &.active {
    .checkbox {
      border-color: var(--color-primary);
      background-color: var(--color-primary);
    }

    &.disabled {
      .checkbox {
        color: rgba(0, 0, 0, 0.25);
      }
      .label {
        color: rgba(0, 0, 0, 0.25);
      }
    }
  }

  &.disabled {
    cursor: not-allowed;

    .checkbox {
      border-color: #d9d9d9;
      color: rgba(0, 0, 0, 0.04);
      background-color: rgba(0, 0, 0, 0.04);
    }

    .label {
      color: rgba(0, 0, 0, 0.25);
    }
  }
}

.checkbox {
  width: 1.8rem;
  height: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 0.1rem solid var(--color-border);
  border-radius: 0.2rem;
  color: #fff;
  font-size: 1.5rem;
  transition: 0.3s;
}

.label {
  color: #424242;
  font-size: 1.4rem;
  transition: 0.3s;
}
